#include<iostream>
#include"Task.hpp"
#include"ThreadPool.hpp"
#include"Log.hpp"
using namespace log_ns;
int main ()
{
    
    // LOG(DEBUG,"hello ");    
    // LOG(DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // LOG(WARNING,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // EnableFILE();
    // LOG(FATAL,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // LOG(DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // // sleep(1);
    // //__FILE__是预处理副将当前的文件名传递过去，LINE是将文件行号传递过去
    // // lg.logMessage(__FILE__,__LINE__,DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // // sleep(1);
    // // lg.logMessage(__FILE__,__LINE__,DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // // sleep(1);
    // // lg.logMessage(__FILE__,__LINE__,DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
   
    // // lg.logMessage(__FILE__,__LINE__,DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // // sleep(1);
    // // lg.logMessage(__FILE__,__LINE__,DEBUG,"hello %d,world %c,hello %f \n",1000,'A',3.14);
    // // //
    
    // // std::cout<<GetCurTime()<<std::endl;
    EnableScrean();
//    ThreadPool<Task> * tp= new ThreadPool<Task>();
//     tp->Init();
   
//     tp->Start();
    int cnt = 10;
    
        //不断地向线程池推送任务
        while(cnt--)
        {   
            sleep(1);
            Task t(1,1);
            ThreadPool<Task>::GetInstance()->Equeue(t);//这里使用静态函数来调用静态变量
          
            LOG(INFO,"equeue a task,%s\n",t.debug().c_str());
            sleep(1);
            
        }
     
   ThreadPool<Task>::GetInstance()->Stop();
    LOG(INFO,"thread pool stop!\n");
    std::cout<<"thread stop"<<std::endl;
    return 0;
}

